package com.investment.repository;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.investment.model.entity.Factor;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Map;

/**
 * 因子Repository接口
 */
@Mapper
public interface FactorRepository extends BaseMapper<Factor> {
    
    /**
     * 根据因子代码查询因子
     * @param code 因子代码
     * @return 因子实体
     */
    Factor selectByCode(@Param("code") String code);
    
    /**
     * 查询因子详细信息
     * @param id 因子ID
     * @return 因子详细信息Map
     */
    Map<String, Object> selectWithDetail(@Param("id") Long id);
    
    /**
     * 插入因子
     * @param factor 因子实体
     * @return 影响行数
     */
    int insertFactor(Factor factor);
    
    /**
     * 更新因子
     * @param factor 因子实体
     * @return 影响行数
     */
    int updateFactor(Factor factor);
    
    /**
     * 删除因子
     * @param id 因子ID
     * @return 影响行数
     */
    int deleteFactor(@Param("id") Long id);
} 